﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tracy.Handlers;
using SharedLib.MessageFramework;
using Tracy.DataModel;
using SharedLib.MessageFramework.Messages;

namespace Tracy.Messages
{
    public class CopyFileMessage : TaskMessage
    {
        public enum CopyFileMode { Copy, Move }
        
        private string _sourceFile;

        public string SourceFile
        {
            get { return _sourceFile; }
            set { _sourceFile = value; }
        }

        private string _destinationFile;

        public string DestinationFile
        {
            get { return _destinationFile; }
            set { _destinationFile = value; }
        }

        private CopyFileMode _mode = CopyFileMode.Copy;

        public CopyFileMode Mode
        {
            get { return _mode; }
            set { _mode = value; }
        }

        public CopyFileMessage(object sender, string sourceFile, string destinationFile, object data, IAppMessage parentMessage = null) : base(sender,typeof(CopyFileHandler), data, parentMessage)
        {
            _sourceFile = sourceFile;
            _destinationFile = destinationFile;
        }

        public CopyFileMessage(object sender, string sourceFile, string destinationFile, IAppMessage parentMessage = null)
            : this(sender, sourceFile, destinationFile, null, parentMessage)
        {
        }
    }
}
